package com.yazi.mxz.admin.controller;

import com.myframework.smhj.common.tool.PageLinkAbstract;
import com.myframework.smhj.hibernate.Paging;


public class MyPageLink extends PageLinkAbstract{
	MyPageLink(){
		
	}
	MyPageLink(Paging paging){
		this.paging = paging;
	}
	
	@Override
	public String makeLink(Paging paging) {
		StringBuffer pageLink = new StringBuffer();
		if(paging.getNowPage()>1){
			pageLink.append("<a page='1' title='首页' href='javascript:void(0);'>首页</a> ");
			pageLink.append("<a page='"+(paging.getNowPage()-1)+"' title='上一页' href='javascript:void(0);'>上一页</a> ");

		}
		if(paging.getTotalPage()>=paging.getLinkCount()){
			int pageNum=paging.getNowPage()-paging.getLinkCount()/2;
			if(pageNum+paging.getLinkCount()>paging.getTotalPage()){
				pageNum = paging.getTotalPage()-paging.getLinkCount()+1;
			}
			if(pageNum>1){
				pageLink.append("<a page='1' href='javascript:void(0);'>1</a> ");
			}
			if(pageNum>2){
				pageLink.append("... ");
			}
			if(pageNum<=0){
				pageNum=1;
			}
			for(int i=1;i<=paging.getLinkCount();i++){

				if(pageNum<=paging.getTotalPage()){
					if(paging.getNowPage()==pageNum){
						pageLink.append("<a page='"+pageNum+"' href='javascript:void(0);' class='cur'>"+pageNum+"</a> ");
					}
					else{
						pageLink.append("<a page='"+pageNum+"' href='javascript:void(0);'>"+pageNum+"</a> ");
					}
				}
				pageNum++;
			}
			if(pageNum<paging.getTotalPage()){
				pageLink.append("... <a page='"+paging.getTotalPage()+"' href='javascript:void(0);'>"+paging.getTotalPage()+"</a> ");
			}
			else if(pageNum==paging.getTotalPage()){
				pageLink.append("<a page='"+paging.getTotalPage()+"' href='javascript:void(0);'>"+paging.getTotalPage()+"</a> ");
			}
		}
		else {
			for(int i=1;i<=paging.getTotalPage();i++){
				if(paging.getNowPage()<=paging.getTotalPage()){
					if(paging.getNowPage()==i){
						pageLink.append("<a page='"+i+"' href='javascript:void(0);' class='cur'>"+i+"</a>");
					}
					else{
						pageLink.append("<a page='"+i+"' href='javascript:void(0);'>"+i+"</a> ");
					}
				}
			}
		}
		if(paging.getNowPage()<paging.getTotalPage()){
			pageLink.append("<a page='"+(paging.getNowPage()+1)+"' title='下一页' href='javascript:void(0);' >下一页</a>");
		}
		pageLink.append("<span style='padding-left:20px;'>共"+paging.getTotalPage()+"页/"+paging.getTotalResult()+"条记录</span>");
		return pageLink.toString();
	}

}
